import 'package:intl/intl.dart';

class DateFormatter {
  /// 格式化发布时间为友好显示格式
  static String formatPublishTime(DateTime dateTime) {
    final now = DateTime.now();
    final difference = now.difference(dateTime);

    if (difference.inMinutes < 1) {
      return '刚刚';
    } else if (difference.inMinutes < 60) {
      return '${difference.inMinutes}分钟前';
    } else if (difference.inHours < 24) {
      return '${difference.inHours}小时前';
    } else if (difference.inDays < 7) {
      return '${difference.inDays}天前';
    } else {
      // 超过7天显示具体日期
      return DateFormat('MM-dd HH:mm').format(dateTime);
    }
  }

  /// 格式化为完整日期时间
  static String formatFullDateTime(DateTime dateTime) {
    return DateFormat('yyyy-MM-dd HH:mm:ss').format(dateTime);
  }

  /// 格式化为日期
  static String formatDate(DateTime dateTime) {
    return DateFormat('yyyy-MM-dd').format(dateTime);
  }

  /// 格式化为时间
  static String formatTime(DateTime dateTime) {
    return DateFormat('HH:mm').format(dateTime);
  }

  /// 格式化为月日时间
  static String formatMonthDayTime(DateTime dateTime) {
    return DateFormat('MM-dd HH:mm').format(dateTime);
  }
}